﻿Public Class FrmTipoProd

    Dim classController As New Class_RC_Controller.rc_Mantenimiento

    Private _codTipoProducto As Integer = 0

    Public Property codTipoProducto() As Integer
        Get
            Return _codTipoProducto
        End Get
        Set(value As Integer)
            _codTipoProducto = value
        End Set
    End Property

    Private Sub FrmTipoProd_Load(sender As System.Object, e As System.EventArgs) Handles MyBase.Load

        CargarTipoProducto()

    End Sub

    Private Sub CargarTipoProducto()
        Try
            If codTipoProducto > 0 Then

                Dim ds As New DataTable
                ds = classController.get_TiposProducto_All(oiml.dbConn, codTipoProducto, "")

                If Not ds Is Nothing Then
                    txtdescripcion.Text = ds.Rows(0)("descTipoProducto")
                End If

            Else

                txtdescripcion.Focus()

            End If

        Catch ex As Exception
            MessageBox.Show("Error: " & ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error)

        End Try

    End Sub

    Private Sub btnCancelar_Click(sender As System.Object, e As System.EventArgs) Handles btncancelar.Click
        Me.Close()

    End Sub

    Private Sub btnEliminar_Click(sender As System.Object, e As System.EventArgs) Handles btneliminar.Click

        If codTipoProducto > 0 Then
            If MessageBox.Show("Desea eliminar el registro seleccionado?", "Tipos de producto", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
                If classController.Delete_TipoProducto(oiml.dbConn, codTipoProducto) Then
                    Me.DialogResult = Windows.Forms.DialogResult.OK
                    Me.Close()

                Else
                    MessageBox.Show("Error: " & classController.MessageError.Message, "Tipos de producto", MessageBoxButtons.OK, MessageBoxIcon.Error)

                End If

            End If

        End If

    End Sub

    Private Function ValidarCampos() As Boolean

        Dim controlCampos As Boolean = False

        If txtDescripcion.Text = "" Then
            ErrorProvider.SetError(txtDescripcion, "Campo obligatorio")
            controlCampos = True
        Else
            ErrorProvider.SetError(txtDescripcion, "")
        End If        '

        Return controlCampos

    End Function

    Private Sub btnGrabar_Click(sender As System.Object, e As System.EventArgs) Handles btnguardar.Click

        If ValidarCampos() Then
            Exit Sub
        End If

        If codTipoProducto = 0 Then
            codTipoProducto = classController.Insert_TipoProducto(oiml.dbConn, txtdescripcion.Text)
            If codTipoProducto > 0 Then
                MessageBox.Show("Registro grabado con exito!", "Tipos de producto", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
                Me.DialogResult = Windows.Forms.DialogResult.OK
                Me.Close()

            Else
                MessageBox.Show("Error: " & classController.MessageError.Message, "Tipos de producto", MessageBoxButtons.OK, MessageBoxIcon.Error)

            End If

        Else
            If classController.Update_TipoProducto(oiml.dbConn, codTipoProducto, txtdescripcion.Text) Then
                MessageBox.Show("Registro grabado con exito!", "Tipos de producto", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
                Me.DialogResult = Windows.Forms.DialogResult.OK
                Me.Close()

            Else
                MessageBox.Show("Error: " & classController.MessageError.Message, "Tipos de producto", MessageBoxButtons.OK, MessageBoxIcon.Error)

            End If

        End If

    End Sub
    
End Class